LW2000

 

Nombre:      GIF Movie Gear

Versión:       2.63

Editor:         GamAni

Víctima:       MOVGEAR.ESE

Serial en:       HKEY_CURRENT_USER\Software\gamani\GIFMovieGear\2.0

Herramientas:       W32Dasm

                            HIEW

                            Cerebro

Cracker:                LW2000

Tutorial:                número 42

URL:                      http://www.gamani.com

 

Renuncia: Este tutorial tiene una finalidad únicamente educativa. No asumo ninguna responsabilidad por el mal uso de éste material.

 

1.     Vamos al diálogo de registro e introducimos ‘LW2000’ como Name y ‘1230099’ como Registration Code.

2.     ¡Booom! “The information you have provided is invalid.” ¡Mierta! ¡Code equivocado! Me parece que hemos encontrado un ‘bug’ …

3.     Anotamos el mensaje y abrimos el programa en W32Dasm. Una vez desensamblado vamos a la ‘String Data Reference’ y buscamos nuestra cadena:

 

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:0042C353(C)     >Vamos aquí

|

:0042C3FF 6A30 push 00000030

 

* Possible Reference to String Resource ID=40213:

 "Invalid Registration Info"

|

:0042C401 68159D0000    push 00009D15

 

* Possible Reference to String Resource ID=40212:

"The information you have provided is invalid. Please be sure"

|

:0042C406 68149D0000    push 00009D14

:0042C40B 56            push esi

:0042C40C E8DF00FEFF    call 0040C4F0

:0042C411 83C410        add esp, 00000010

 

4.     Bien, vamos a la posición ‘0042C353’. Deberíamos ver ahora esto:

 

:0042C349 E872FDFFFF    call 0042C0C0     >Rutina de comprobación

:0042C34E 83C408        add esp, 00000008

:0042C351 85C0          test eax, eax

:0042C353 0F84A6000000 je 0042C3FF       >Comprobación

 

5.     Cuando echemos un vistazo dentro del ‘CALL 0042C0C0’, observaremos que si el Serial Number que hemos introducido es correcto entonces EAX será igual a ‘1’. En caso contrario EAX será igual a ‘0’ y la comprobación fallará. Así que, ¿por qué no hacemos que EAX sea igual a ‘1’ siempre, incluso cuando el Serial Number no sea correcto?

6.     Bien, creo que ésta idea es bastante buena. Vamos dentro del ‘CALL’ y anotamos el offset. Ahora abrimos HIEW y vamos a dicho offset. Ahora pulsarmo F3 para entrar el modo Edit y F2 para introducir comandos en ensamblador.

7.     Ahora escribimos:

 

mov eax, 1 [Intro]

ret        [Intro]

[Esc]

 

8.     Una vez hechos éstos cambios, veremos esto:

 

      :0042C0C0   B801000000   mov eax,1

      :0042C0C1   C3           ret

 

9.     Bien, guardamos nuestro trabajo y volvemos a intentar registrarlo.

 

¡Enhorabuena! ¡Ya es usted un usuario registrado!

 

¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme un email a LW2000@gmx.net. o vaya a http://www.LW2000.cjb.net

 

Gracias a tKC por sus tutoriales. Empecé leyendo su primer tutorial y todavía sigo leyéndolos.

 

Traducción de: MeGaBiTe